﻿<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="returnjson_Default" %>

<%@ Register Assembly="zoyobar.shared.panzer.JQueryElement" Namespace="zoyobar.shared.panzer.ui.jqueryui"
	TagPrefix="je" %>
<%@ Register Assembly="zoyobar.shared.panzer.JQueryElement" Namespace="zoyobar.shared.panzer.web.jqueryui"
	TagPrefix="je" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
	<title>在不同的 .NET 版本中返回 JSON</title>
	<link rel="stylesheet" type="text/css" href="../css/smoothness/jquery-ui-1.8.15.custom.css" />
	<script type="text/javascript" src="../js/jquery-1.6.2.min.js"></script>
	<script type="text/javascript" src="../js/jquery-ui-1.8.15.custom.min.js"></script>
	<link rel="stylesheet" type="text/css" href="../css/main.css" />
</head>
<body>
	<form id="formReturnJSON" runat="server">
	<div class="title purple-title">
		在不同的 .NET 版本中返回 JSON
		<iframe src="../about.htm" frameborder="0" height="160" width="100%" allowtransparency="true" scrolling="no"></iframe>
	</div>
	<div class="content">
		<h2>
			准备
		</h2>
		<blockquote>
			对于 .NET 2.0, 3.0, 需要程序集 System.Web.Extensions.dll, 本示例已经将其包含在 Bin 目录中, 也可以在 <a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=883"
				target="_blank">www.microsoft.com/download/en/details.aspx?displaylang=en&id=883</a>
			下载安装 ASP.NET 2.0 AJAX.<br />
			<br />
			在 .NET 3.5, 4.0 中, 默认包含 System.Web.Extensions.dll, 不需要设置.<br />
			<br />
			<strong>详细说明请参考:</strong> <a href="http://code.google.com/p/zsharedcode/wiki/AjaxReturnJSON" target="_blank">
				code.google.com/p/zsharedcode/wiki/AjaxReturnJSON</a><br />
			<br />
			<strong>视频解说:</strong> <a href="http://www.tudou.com/programs/view/rHCYHX9cmcI/" target="_blank">www.tudou.com/programs/view/rHCYHX9cmcI/</a>
		</blockquote>
		<h2>
			一般处理程序/ashx
		</h2>
		<blockquote>
			使用一般处理程序返回 JSON, 对于不同版本的 .NET 都是类似. 下面的例子点击按钮后将调用 <span class="path">handler.ashx</span>.<br />
			<br />
			<strong>姓名:</strong>
			<input type="text" id="txtAName" />
			<je:Button ID="cmdANet" runat="server" Label="填好了 ashx">
				<ClickAsync Url="handler.ashx" Success="
				function(data){
					alert(data.message);
				}
				">
					<ParameterList>
						<je:Parameter Name="name" Type="Selector" Value="'#txtAName'" DataType="String" />
					</ParameterList>
				</ClickAsync>
			</je:Button>
		</blockquote>
		<h2>
			WebService/asmx
		</h2>
		<blockquote>
			在不同版本的 .NET 中, WebService 返回 JSON 的方式略有不同. 如果需要更改 .NET 版本请参考 <a href="../Default.aspx"
				target="_blank">JQueryElement 演示目录</a> 上的介绍. 对于 .NET x 需要在 Web.config 中进行另外的配置,
			具体请参照 Web.x.config.<br />
			<br />
			下面的例子点击对应 .NET 版本的按钮后将调用 <span class="path">webservice.asmx</span>.<br />
			<br />
			<strong>姓名:</strong>
			<input type="text" id="txtWName2" />
			<je:Button ID="cmdWNet2" runat="server" Label="填好了 asmx .NET 2.0, 3.0">
				<ClickAsync Url="webservice.asmx" MethodName="Save" Success="
				function(data){
					alert(data.message);
				}
				">
					<ParameterList>
						<je:Parameter Name="name" Type="Selector" Value="'#txtWName2'" DataType="String" />
					</ParameterList>
				</ClickAsync>
			</je:Button>
			&nbsp;&nbsp;.NET 2.0, 3.0 直接返回 JSON, 也可能返回一个字符串或者数字.<br />
			<br />
			<strong>姓名:</strong>
			<input type="text" id="txtWName3" />
			<je:Button ID="cmdWNet3" runat="server" Label="填好了 asmx .NET 3.5, 4.0">
				<ClickAsync Url="webservice.asmx" MethodName="Save" Success="
				function(data){
					alert(data.d.message);
				}
				">
					<ParameterList>
						<je:Parameter Name="name" Type="Selector" Value="'#txtWName3'" DataType="String" />
					</ParameterList>
				</ClickAsync>
			</je:Button>
			&nbsp;&nbsp;.NET 3.5, 4.0 返回 JSON 包含在 { "d": &lt;JSON&gt; } 中.
		</blockquote>
	</div>
	</form>
</body>
</html>
